iT邦幫忙

functional programming相關文章
共有 294 則文章

技術 B5 掌握分層渲染:製作高效 Canvas 繪圖工具

架構設計 在昨天的文章中,我們探討了如何創建動態效果,雖然過程中省略了一些細節,但這為我們打下了良好的基礎。今天,我們將逐步補充那些細節,根據昨天的討論,目前的...

技術 B2 玩轉 IntersectionObserver:揭秘動畫管理員的設計與實作細節!

1.基本結構 動畫管理員的核心是 managerMaker 函數,負責建立物件並初始化必要的屬性和方法。它包含了管理動畫請求的基本邏輯和資料結構。以下是管理員的...

鐵人賽 Python DAY 5
Python 錦囊密技 系列 第 5

技術 【Python錦囊㊙️技5】來寫一個直譯器(Interpreter)吧!

前言 上一篇介紹函數式程式設計(Functional Programming)的概念,這次再進一步應用它及抽象語法樹(Abstract Syntax Tree,...

鐵人賽 Python DAY 4
Python 錦囊密技 系列 第 4

技術 【Python錦囊㊙️技4】函數式程式設計(Functional Programming)

前言 函數式程式設計(Functional Programming)是一種設計模式(Design pattern),主程式能夠將函數當作參數,進行傳遞(輸出/輸...

鐵人賽 Python DAY 2
Python 錦囊密技 系列 第 2

技術 【Python錦囊㊙️技2】Python 很簡單,但要寫的好很不簡單

前言 撰寫Python程式很簡單,因為Python的發明人Guido van Rossum希望撰寫Python程式可以像英文寫作一樣自然,不需要作變數型別宣告、...

鐵人賽 自我挑戰組 DAY 6
JCConf 2024 系列 第 6

技術 Functional Programming IO Demystified: Understanding Partial Application, Monads, and Effects

本屆 #JCConf 邀請到 Uberto Barbini 分享「Functional Programming IO Demystified: Understa...

鐵人賽 Software Development DAY 30
Haskell 從入門到放棄 系列 第 30

技術 [Haskell 從入門到放棄] Day 30 - 開始也是結束

終於寫到最後一天了,今天就輕鬆一點吧xD。 首先感謝所有讀者,在開賽前就有心理準備這個題材本來就是屬於比較冷門領域所以應該沒什麼人關注,本來以為可能完全沒有回饋...

鐵人賽 Software Development DAY 29
Haskell 從入門到放棄 系列 第 29

技術 [Haskell 從入門到放棄] Day 29 - Monad (6)

State Monad 可能有讀者看到 state monad 這個名字時可能會想,Haskell 這樣的語言允許我們擁有 state 這種感覺應該是 muta...

鐵人賽 Software Development DAY 28
Haskell 從入門到放棄 系列 第 28

技術 [Haskell 從入門到放棄] Day 27 - Monad (5)

Writer Monad 不知道讀者有沒有想過,如果今天我想要把每一步 monadic 操作的過程都有 log 紀錄方便我們 debug 的話要怎麼做?(用 p...

鐵人賽 Software Development DAY 25
Should I use fp-ts 系列 第 25

技術 [Should I use fp-ts?] Day 25 - fp-ts Array

[Should I use fp-ts?] Day 25 - fp-ts Array 在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts...

鐵人賽 Software Development DAY 27
Haskell 從入門到放棄 系列 第 27

技術 [Haskell 從入門到放棄] Day 27 - newtype

newtype 大概在之前的 monoid 的時候有提到過這個語法。 getProduct $ Product 1 `mappend` Product 2 `...

鐵人賽 Software Development DAY 24
Should I use fp-ts 系列 第 24

技術 [Should I use fp-ts?] Day 24 - fp-ts Array

在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-24 並且有測試可以讓大家練習。 Array A...

鐵人賽 Software Development DAY 23
Should I use fp-ts 系列 第 23

技術 [Should I use fp-ts?] Day 23 - fp-ts Array

在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-23 並且有測試可以讓大家練習。 Array 平...

鐵人賽 Software Development DAY 22
Should I use fp-ts 系列 第 22

技術 [Should I use fp-ts?] Day 22 - fp-ts Apply

在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-22 並且有測試可以讓大家練習。 Apply 使...

鐵人賽 Software Development DAY 26
Haskell 從入門到放棄 系列 第 26

技術 [Haskell 從入門到放棄] Day 26 - Monad (4)

Monad Law 畢竟 monad 是來自於數學上的概念,所以就算某個type 實作了 Monad 的 instance ,嚴格定義上我們也不能說它是 m...

鐵人賽 Software Development DAY 25
Haskell 從入門到放棄 系列 第 25

技術 [Haskell 從入門到放棄] Day 25 - Monad (3)

List Monad 在講 list monad 前我們先回憶一下 applicatives,我們知道 <*> 是可以把一個在 context 裡的...

鐵人賽 Software Development DAY 21
Should I use fp-ts 系列 第 21

技術 [Should I use fp-ts?] Day 21 - fp-ts Either trycatch 2

在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-21 並且有測試可以讓大家練習。 Either...

鐵人賽 Software Development DAY 24
Haskell 從入門到放棄 系列 第 24

技術 [Haskell 從入門到放棄] Day 24 - Monad (2)

I/O Monad 雖然 Haskell 是一個純粹的 FP 語言,這意味著它的函數更接近數學意義上的「函數」,也就是我們所說的 pure function 。...

鐵人賽 Software Development DAY 23
Haskell 從入門到放棄 系列 第 23

技術 [Haskell 從入門到放棄] Day 23 - Monad (1)

在看 monad 相關的文章時不時想到一個剛開始學 FP 時聽過的笑話 「a monad is just a monoid in the category of...

鐵人賽 Software Development DAY 20
Should I use fp-ts 系列 第 20

技術 [Should I use fp-ts?] Day 20 - fp-ts Either trycatch

在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-20 並且有測試可以讓大家練習。 Either...

鐵人賽 Software Development DAY 22
Haskell 從入門到放棄 系列 第 22

技術 [Haskell 從入門到放棄] Day 22 - Monoid (2)

Maybe 在 Haskell 中 Maybe a 也是能具有 Monoid 特性的。 instance Monoid a => Monoid (Mayb...

鐵人賽 Software Development DAY 19
Should I use fp-ts 系列 第 19

技術 [Should I use fp-ts?] Day 19 - fp-ts Either usage

在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-19 並且有測試可以讓大家練習。 Eit...

鐵人賽 Software Development DAY 21
Haskell 從入門到放棄 系列 第 21

技術 [Haskell 從入門到放棄] Day 21 - Monoid (1)

Monoid 我們先來看一下幾個 expression (4 * 2) * 1 4 * (2 * 1) ([1] ++ [2,3]) ++ [] [] ++...

鐵人賽 Software Development DAY 18
Should I use fp-ts 系列 第 18

技術 [Should I use fp-ts?] Day 18 - fp-ts Either type and constructor

在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-18 並且有測試可以讓大家練習。 Eit...

鐵人賽 Software Development DAY 20
Haskell 從入門到放棄 系列 第 20

技術 [Haskell 從入門到放棄] Day 20 - Applicative (2)

再談 Applicative 先看一下昨天最後的範例 import Control.Applicative let foo = fmap (*) [1..5...

鐵人賽 Software Development DAY 17
Should I use fp-ts 系列 第 17

技術 [Should I use fp-ts?] Day 17 - fp-ts: Option

在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-17 並且有習題和測試可以讓大家練習。...

鐵人賽 Software Development DAY 16
Should I use fp-ts 系列 第 16

技術 [Should I use fp-ts?] Day 16 - fp-ts: Option apS

在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-16 並且有習題和測試可以讓大家練習。...

鐵人賽 Software Development DAY 19
Haskell 從入門到放棄 系列 第 19

技術 [Haskell 從入門到放棄] Day 19 - Applicative

繼續談 Functor fmap (*2) (+100) 1 看到這樣的程式碼你能想的到結果是什麼嗎?好像跟我們平常在 map 時的操作不太一樣,感覺好像少了...

鐵人賽 Software Development DAY 15
Should I use fp-ts 系列 第 15

技術 [Should I use fp-ts?] Day 15 - fp-ts: Option bindTo

在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-15 並且有習題和測試可以讓大家練習。...

鐵人賽 Software Development DAY 30

技術 Applicative Functors (3)

Applicative Fuctor 定律 為求說明,以下回顧 Applicative Functor 的方法宣告會將所有參數完整呈現,故會與 Day 28...